package com.duobaoyu.dby.supply.common.biz.vo.message;

import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author liyang
 * @version 1.0.0
 * @ClassName ChannelMessageVO
 * @Description 渠道消息记录
 * @createTime 13:50:00 2023/11/08
 */
@Data
public class ChannelMessageVO implements Serializable {
    private static final long serialVersionUID = -824956795755985305L;
    /**
     * 渠道消息Id
     */
    private String channelMessageId;
    /**
     * 请求Id
     */
    private String requestId;
    /**
     * 渠道编号
     */
    private String channelCode;
	/**
	 * 渠道名称
	 */
	private String channelName;
    /**
     * 对接渠道配置Key
     */
    private String configUniqueKey;

    /**
     * 渠道原消息体(压缩后的)
     */
    private String originalMessage;

    /**
     * 唯一key（MD5值）
     */
    private String uniqueKey;

    /**
     * 消息类型
     * //@see com.duobaoyu.dby.channel.adapter.enums.BizMessageTypeEnum
     */
    private Integer messageType;

    /**
     * 业务消息体-JSON压缩
     */
    private String message;

    /**
     * 是否是批量消息 0->否 1->是
     */
    private Boolean isBatch;

    /**
     * 消息重试次数
     */
    private Integer retryCount;

    /**
     * 状态 1->待处理；2->处理成功；3->处理失败
     */
    private Integer status;

    /**
     * 来源Class
     */
    private String sourceClass;

    /**
     * 操作编号，订单编号、商品编号、售后编号
     */
    private String operationalCode;

    /**
     * 渠道操作编号，渠道订单编号、渠道商品编号、渠道售后编号
     */
    private String channelOperationalCode;

    /**
     * 备注
     */
    private String remark;
    /**
     * 版本号-用作乐观锁
     */
    private Integer version;
    /**
     * 是否删除 0-否 1-是
     */
    private Integer delFlag;
    /**
     * 创建人
     */
    private String createBy;
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    /**
     * 修改人
     */
    private String updateBy;
    /**
     * 修改时间
     */
    private LocalDateTime updateTime;
}
